//package io.github.talelin.latticy.common.configuration;
//
//import com.thoughtworks.xstream.InitializationException;
//import io.github.talelin.latticy.model.RulesDO;
//import io.github.talelin.latticy.service.RulesService;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
//import javax.annotation.Resource;
//import java.util.ArrayList;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//
///**
// * @authoer:wulongbo
// * @createDate:2022/8/8
// * @description:
// */
//@Configuration
//@Slf4j
//public class KieStrengthenBeanConfig {
//
//    @Resource
//    KieStrengthenConfig kieConfig;
//
//    @Autowired
//    RulesService rulesService;
//
//    @Bean
//    public MyKieContexts myKieContext() {
//        try {
//            List<RulesDO> allDrools = rulesService.list();
//            Map<String, List<String>> mapDrools = new HashMap<>();
//            allDrools.forEach(p -> {
//                List<String> drools = mapDrools.get(p.getType());
//                if (drools == null) {
//                    List<String> list = new ArrayList<>();
//                    list.add(p.getRule());
//                    mapDrools.put(p.getType(), list);
//                } else {
//                    drools.add(p.getRule());
//                }
//            });
//            Map<String, MyKieContext> map = new HashMap<>();
//            for (String key : mapDrools.keySet()) {
//                log.info("添加type为:{}的规则", key);
//                map.put(key, kieConfig.myKieContext(mapDrools.get(key)));
//            }
//            return new MyKieContexts(map);
//        } catch (Exception e) {
//            log.error("初始化MyKieContexts时异常,异常为:{}", e.getMessage());
//            throw new InitializationException("初始化MyKieContexts时异常,异常为:{" + e.getMessage());
//        }
//    }
//}
